1. Field of the Invention
The present invention concerns a process for sending a notification in a data processing network with distributed applications. It also concerns a network using the aforementioned process.
The invention applies in particular to the distributed object architecture of networks conforming to the “Common Object Request Broker Architecture” (CORBA) specification of the “Object Management Group” (OMG).
2. Description of the Prior Art
In the aforementioned architecture the objects are distributed between the various data processing units in the network. They communicate via a software bus which is called the “Object Request Broker” (ORB) in the CORBA specification.
The expression “software bus” designates the entity enabling objects to send and to receive requests in a distributed environment. The distributed applications are installed on data processing units communicating with each other via the physical medium to which the data processing units forming the network are connected and via the lower layers of the communication protocol, for example the IP (Internet Protocol) and TCP (Transmission Control Protocol) layers.
The data processing units are switches of a telecommunication network, for example, or a set of workstations connected to one or more printers.
In a network of the above kind the objects, wherever they are on the network, provide services to client objects which send requests for such services over the network. The role of the software bus (ORB) is to deliver the requests to the server objects concerned and to return the output values to the client objects. This operation is transparent as far as the client object is concerned. The latter does not know where the objects reside on the network, how they are implemented, how they are stored in memory or how they are executed. In order to submit a request the client object only needs to know the reference of the object.
In accordance with the CORBA specification each distributed object has a communication interface written in IDL (Interface Definition Language). The IDL interface provides a static definition of the interfaces of the objects enabling objects to be ported between different object versions.
The result of compiling the IDL interface is tied to the implementation of the object.
Accordingly, the client object can interact with a remote server object simply by invoking the IDL functions as a local object without concerning itself with the situation of the server object on the network. To this end the client object can use the format of the communication interface of the server object to submit its request.
In networks of the above kind large quantities of data are transmitted directly and synchronously from a sender object to a receiver object connected to the same software bus.
Large quantities of data pass through notification servers. The latter receive notifications from sender objects registered as such with the notification service. Receiver objects registered as receiver objects and having indicated one or more predetermined test criteria for filtering notifications sent to them on the basis of the data that they contain receive from the notification service notifications that satisfy the predetermined test criteria.
The filtering methods are particularly useful for reducing the quantity of data transmitted over the network and for adapting the notification service to suit the needs of each receiver object.
The filters can be declared dynamically and modified.
The data transmitted by the sender objects in the form of notifications is structured into fields or attributes containing values specific to each sender object and concerning the latter.
Filtering consists in identifying certain fields in the data structure and carrying out a comparison based on the values of these fields and in accordance with the description of the filter.
Only the notifications for which the extracted values satisfy the predetermined test criteria are transmitted to the receiver object.
In such networks the filtering methods employed use simple structure tests that are not capable of effective filtering. In particular, these filters do not assure efficient filtering and do not use sufficiently sophisticated test criteria. Also, they are not able to limit effectively the traffic to the receiver objects so that the latter receive only the data they need.
Given the above, the network carries a large quantity of data of little relevance, unnecessarily increasing the traffic on the network.
An aim of the invention is to solve this problem and in particular to propose a transmission process and a network using the process in which efficient filtering effectively reduces the volume of communications whilst enabling network operation imperatives to be satisfied.